package com.managertrade.dto;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.Data;

import java.util.List;
@Data
@JsonIgnoreProperties(ignoreUnknown = true)
public class OkxOrderHistoryResponseDTO {
    private String code;
    private String msg;
    private List<OrderData> data;

    @Data
    @JsonIgnoreProperties(ignoreUnknown = true)
    public static class OrderData {
        private String clOrdId;       // 客户自定义订单 ID
        private String ordId;         // 平台生成的订单 ID
        private String tag;           // 标签
        private String instType;      // 产品类型，如 SWAP、SPOT、FUTURES
        private String instId;        // 产品 ID
        private String ccy;           // 币种（仅适用时返回）
        private String ordType;       // 订单类型 limit/market
        private String side;          // 买或卖 buy/sell
        private String posSide;       // 持仓方向 long/short
        private String tdMode;        // 保证金模式 cross/isolated
        private String sz;            // 委托数量
        private String px;            // 委托价格（如果是限价单）
        private Boolean reduceOnly;   // 是否仅减仓
        private String tgtCcy;        // 目标币种
        private String fillSz;        // 已成交数量
        private String fillPx;        // 成交均价
        private String fillFee;       // 手续费
        private String state;         // 订单状态 canceled/live/partially_filled/filled
        private String avgPx;         // 平均成交价格
        private String lever;         // 杠杆倍数
        private String tpTriggerPx;   // 止盈触发价
        private String slTriggerPx;   // 止损触发价
        private String feeCcy;        // 手续费币种
        private String rebateCcy;     // 返佣币种
        private String pnl;           // 盈亏
        private String accFillSz;     // 累计成交数量
        private String fillTime;      // 成交时间戳（毫秒）
        private String feeDiscountId; // 手续费折扣 ID
    }
}
